//
//  ChatContactMgr.h
//  WxSdk
//
//  Created by fusuwei on 14-9-18.
//  Copyright (c) 2014年 网信金融集团. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YY_FMDatabase.h"
#import "ChatContact.h"
#import "ChatContactRequest.h"
#import "ContactMemModel.h"


@interface ChatContactMgr : NSObject


//check ChatContact table is create in db
+(BOOL)checkChatContactTableCreatedInDb:(YY_FMDatabase *)db;

//保存联系人到ChatContact表中
+(BOOL)saveChatContactDic:(NSMutableDictionary*)ContactDic;

//更新指定NSString字段
+(BOOL)saveUpdateContactId:(NSString*)ContactId fieldName:(NSString*)fieldName value:(NSString*)value;

//更新指定NSInteger字段
+(BOOL)saveUpdateContactId:(NSString*)ContactId fieldName:(NSString*)fieldName valueInt:(NSInteger)value;

//删除某个联系人
+ (BOOL)deleteContactId:(NSString *)ContactId;

//获取ChatContact表某个联系人的对象
+ (ChatContact *)fetchChatContactByContactId:(NSString *)ContactId;

//获取某个联系人Id对应的Name
+ (NSString *)fetchNameByContactId:(NSString *)ContactId;

//更新备注信息
+ (BOOL)updateTheContact:(NSString *)ContactId ContactName:(NSString *)ContactName;

//删除ChatContactRequest中某个联系人请求或被请求 （当删除某个联系人时，同步删除该表中的对应数据）
+ (BOOL)deleteChatContactRequestContactId:(NSString *)ContactId;

//获取所有联系人
+ (NSMutableArray *)getAllContactList;

//保存 请求添加联系人 和 被请求添加联系人 到ChatContactRequest表中
+(BOOL)saveChatContactRequestDic:(NSMutableDictionary*)ContactDic;

//更新ChatContactRequest表指定NSString字段
+(BOOL)saveUpdateChatContactRequestContactId:(NSString*)ContactId fieldName:(NSString*)fieldName value:(NSString*)value;

//获取ChatContactRequest表某个联系人请求或被请求的对象
+ (ChatContactRequest *)fetchChatRequestByContactId:(NSString *)ContactId;

//获取我已经发出请求添加的和接收到的邀请 好友列表
+ (NSMutableArray *)getAllInviteOrInvitedContacts;

#pragma mark ------------------hhahahahah
//保存联系人到ChatContact表中
+(BOOL)saveContactMemModel:(ContactMemModel *)model;
//获取得到所有联系人列表
+ (NSMutableArray *)getAllContactMemList;
//获取某个联系人Id对应的Name
+ (NSDictionary *)fetchContactMemNameByContactId:(NSString *)ContactId;
@end
